package com.itheima01;

/*
    多线程中同步问题出现的原因
 */
public class Demo1 implements Runnable {
    private int tickets = 1; //共享数据

    @Override
    public void run() { //窗口1 窗口2
        while (true) {
            if (tickets <= 0) {
                break;
            }
            try {
                Thread.sleep(200); //窗口1在此睡眠  窗口2在此睡眠
                //窗口1睡眠时间到，往下执行
                //轮到窗口2睡眠时间到，往下执行
                String name = Thread.currentThread().getName();
                //窗口1正在卖第100张票，还剩0张
                //窗口2正在卖第101张票，还剩-1张
                System.out.println(name + "正在卖第" + (100 - tickets + 1) + "张票 ,还剩" + --tickets + "张票");
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}
